const app = getApp();

Page({
    data: {
        notifications: [], // 存储通知数据的数组
        user: null,

    },

    onLoad: function () {
        // 页面加载时从全局变量获取通知数据
        this.setData({
            notifications: app.globalData.notifications,
            user: app.globalData.user
        });

        // 调用接口获取通知数据
        this.fetchNotifications();
    },

    // 调用接口获取通知数据的方法
    fetchNotifications: function () {
        const userId = app.globalData.user.id; // 从全局变量获取 userId

        // 从本地存储中获取 token
        wx.getStorage({
            key: 'token',
            success: (res) => {

              const token = res.data;
              console.log('token', token);
                // 调用后端接口
                wx.request({
                    url: 'http://localhost:8080/hql/notification/Consultation/' + userId, // 替换为你的后端接口地址
                    method: 'GET',
                    header: {
                        'Authorization': 'Bearer ' + token // 在请求头中加入 token
                    },
                    success: (res) => {
                        if (res.data.data) {
                            const notifications = res.data.data.map(item => {
                                return {
                                    id: item.consultantId,
                                    tx: item.tx,
                                    title: '咨询内容:',
                                    content: item.consultationContent,
                                    time: this.formatDate(item.bookingTime),
                                    status: item.bookingStatus,
                                    isCompleted: item.isCompleted
                                };
                            });

                            // 更新全局变量和页面数据
                            app.globalData.notifications = notifications;
                            this.setData({
                                notifications: notifications
                            });
                        } else {
                            console.error('获取通知失败:', res.data.message);
                            wx.showToast({
                                title: '获取通知失败',
                                icon: 'none'
                            });
                        }
                    },
                    fail: (err) => {
                        console.error('请求失败:', err);
                        wx.showToast({
                            title: '网络请求失败',
                            icon: 'none'
                        });
                    }
                });
            },
            fail: (err) => {
                console.error('获取 token 失败:', err);
                wx.showToast({
                    title: '获取 token 失败',
                    icon: 'none'
                });
            }
        });

      
    },

    // 格式化日期时间的方法
    formatDate: function (dateTimeString) {
        const date = new Date(dateTimeString);
        const year = date.getFullYear();
        const month = (date.getMonth() + 1).toString().padStart(2, '0');
        const day = date.getDate().toString().padStart(2, '0');
        return `${year}/${month}/${day}`;
    },

    // 返回上一页的方法
    navigateBack: function () {
        wx.navigateBack(); // 返回上一页
    },

    // 上拉加载更多的方法
    onReachBottom: function () {
        wx.showToast({
            title: '加载更多通知',
            icon: 'none'
        });

        // 模拟加载更多通知的逻辑
        const newNotifications = [
            {
                id: 5,
                image: 'https://via.placeholder.com/100',
                title: '通知大标题1',
                content: '这里是通知的内容',
                time: '19/04/28'
            },
            {
                id: 6,
                image: 'https://via.placeholder.com/100',
                title: '通知大标题1',
                content: '这里是通知的内容',
                time: '19/04/25'
            }
        ];

        // 更新全局变量和页面数据
        app.globalData.notifications = app.globalData.notifications.concat(newNotifications);
        this.setData({
            notifications: app.globalData.notifications
        });
    }
});